<template>
  <svg class="icon">
    <use v-if="name" :xlink:href="'#' + name"></use>
  </svg>
</template>

<script lang="ts">
import {Vue,Component, Prop} from "vue-property-decorator";

const importAll = (requireContext: __WebpackModuleApi.RequireContext) =>
    requireContext.keys().forEach(requireContext);
try {
  importAll(require.context("../assets/icons", true, /\.svg$/));
} catch (error) {
  console.log(error);
}

@Component
export default class Icon extends Vue{
  @Prop(String) readonly name: string | undefined
}
</script>

<style scoped lang="scss">
svg {
  width: 1em;
  height: 1em;
  vertical-align: -0.15em;
  fill: currentColor;
  overflow: hidden;
}
</style>